package com.ruoyi.module.mapper;

import java.util.List;
import com.ruoyi.module.domain.Points;
import com.ruoyi.module.po.PointsDetailsPo;

/**
 * 积分Mapper接口
 *
 * @author fubojin
 * @date 2025-03-03
 */
public interface PointsMapper
{
    /**
     * 查询积分
     *
     * @param id 积分主键
     * @return 积分
     */
    public Points selectPointsById(Long id);
    /**
     * 根据用户ID查询积分
     *
     * @param userId 用户ID
     * @return 积分
     */
    public Points selectPointsByUserId(Long userId);


    /**
     * 查询积分列表
     *
     * @param points 积分
     * @return 积分集合
     */
    public List<Points> selectPointsList(Points points);

    /**
     * 新增积分
     *
     * @param points 积分
     * @return 结果
     */
    public int insertPoints(Points points);

    /**
     * 修改积分
     *
     * @param points 积分
     * @return 结果
     */
    public int updatePoints(Points points);

    /**
     * 删除积分
     *
     * @param id 积分主键
     * @return 结果
     */
    public int deletePointsById(Long id);

    /**
     * 批量删除积分
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePointsByIds(Long[] ids);

    /**
     * 获取积分明细
     * @param userId 用户ID
     */
    PointsDetailsPo getPointsDetails(Long userId);

    /**
     * 获取积分排名
     * @return
     */
    List<Points> getPointsRanking();
}
